package com.cw.DesignModel23.Structural.FlyweightPattern.Flyweight1;

/**
 * 2. 定义具体享元类 ConcreteFlyweight :
 * ① 继承 : 该类继承 AbstractFlyweight 抽象类 ;
 * ② 重写构造函数 : 抽象类实现类需要重写有参构造函数 ;
 * ③ 实现抽象方法 : 具体的享元类中需要实现 抽象享元类中的 抽象行为 ;
 *
 * 具体的享元角色
 * 注意要实现 抽象方法 , 覆盖其非默认的构造函数
 */
public class ConcreteFlyweight extends AbstractFlyweight {
    public ConcreteFlyweight(String externalState) {
        super(externalState);
    }
    @Override
    void action() {
        System.out.println("享元对象行为 , 外部状态 : " + externalState);
    }
}

